package com.situ.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.situ.model.ProductCategory;

import java.util.List;

/**
 * 商品类别服务接口
 */

public interface ProductCategoryService {

    /*
      后台查询商品类别
      @param page 分页参数
      @param search 查询条件
      @return 商品类别列表
     */
    Page<ProductCategory> getList(Page<ProductCategory> page, ProductCategory productCategory);

    /*
      前台查询所有商品类别
      @return 商品类别列表
    */
    List<ProductCategory> getList();

    /*
      获取商品类别树形列表
      @return 商品类别树形列表
     */
    List<ProductCategory> getTreeList();

    /*
      获取商品类别详情
      @param id 商品类别ID
      @return 商品类别详情
     */
    ProductCategory getById(Integer id);

    /*
      保存商品类别
      @param productCategory 商品类别
      @return 是否保存成功
     */
    boolean save(ProductCategory productCategory);

    /*
      更新商品类别
      @param productCategory 待更新的商品类别
      @return 是否更新成功
     */
    boolean updateById(ProductCategory productCategory);

    /*
      删除商品类别
      @param id 待删除的商品类别ID
      @return 是否删除成功
     */
    boolean deleteById(Integer id);

    /*
      切换展示商品类别（开启/关闭）
      @param id 待改变状态的商品类别ID
      @return 是否切换成功
     */
    boolean toggleShow(Integer id);
}
